/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Persistencia;

import java.util.List;

/**
 *
 * @author v3550
 */
public class FachadaPersistencia implements InterfaceCadastroDTO{
   UsuarioDAO usuarioDao;
   CategoriaDAO categoriaDao;
   ArtigoDAO ArtigoDao;
   LanceDAO lanceDao;
   
   public FachadaPersistencia() throws DAOException{
        usuarioDao = new UsuarioDAO();
        categoriaDao = new CategoriaDAO();
        ArtigoDao = new ArtigoDAO();
        lanceDao = new LanceDAO();
   }

   @Override
    public UsuarioDTO adicionarUsuario(UsuarioDTO p) throws DAOException {
       UsuarioDTO userDto = usuarioDao.gravar(p);
       
       if(userDto != null) {
            return userDto;
        }
       else {
            return null;
        }
    }

    @Override
    public CategoriaDTO adicionarCategoria(CategoriaDTO c) throws DAOException {
       
        CategoriaDTO catDTO = categoriaDao.gravar(c);
        
        if(catDTO != null) {
            return catDTO;
        }
        else {
            return null ;
        }
    }

    @Override
    public ArtigoDTO adicionarArtigo(ArtigoDTO a) throws DAOException {
         
         ArtigoDTO atdo = ArtigoDao.gravar(a);
         
         if(atdo != null) {
            return atdo;
        }
         else {
            return null;
        }
    }

    

    @Override
    public LanceDTO adicionarLance(LanceDTO l) throws DAOException {
        
        LanceDTO lance = lanceDao.gravar(l);
        
        if(lance != null) {
            return lance;
        }
        else {
            return null;
        }
    }

    @Override
    public List<UsuarioDTO> getUsuarios() throws DAOException {
       return usuarioDao.getUsuarios();
    }

    @Override
    public List<CategoriaDTO> getCategorias() throws DAOException {
        return categoriaDao.getCategorias();
    }

    @Override
    public List<ArtigoDTO> getArtigos() throws DAOException {
       return ArtigoDao.getArtigos();
    }
    
    @Override
    public List<ArtigoDTO> getArtigosAberto() throws DAOException {
       return ArtigoDao.getArtigosAberto();
    }
    
    @Override
    public List<ArtigoDTO> getArtigosFechado() throws DAOException {
       return ArtigoDao.getArtigosFechado();
    }

    @Override
    public List<LanceDTO> getLances(ArtigoDTO a) throws DAOException {
        return lanceDao.getLances(a); 
        //return null;
    }
    
    @Override
    public List<UsuarioDTO> getUsuariosNaoDeuOLance(ArtigoDTO a) throws DAOException {
        return usuarioDao.getUsuariosNaoDeuOLance(a);
    }

    @Override
    public double getValorMinimo(ArtigoDTO a) throws DAOException {
        return lanceDao.getValorMínimo(a);

    }

    @Override
    public boolean validaDataHoraLance(int a) throws DAOException {
        return ArtigoDao.validaDataHoraLance(a);
    }

    @Override
    public boolean fecharLeilao(int a) throws DAOException {
        return ArtigoDao.fecharLeilao(a);
    }
    



   
}
